﻿using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using QRCoder;


public partial class Aqrcode : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

        //Image1.ImageUrl = Server.MapPath("~/qrcode/" + "a022" + ".jpeg");
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        string name = TextBox1.Text.Trim().ToString();
        string strCode = "http://gpd.alanfung.cn/move_login.aspx?id="+name;
        QRCodeGenerator qrGenerator = new QRCoder.QRCodeGenerator();
        QRCodeData qrCodeData = qrGenerator.CreateQrCode(strCode, QRCodeGenerator.ECCLevel.Q);
        QRCode qrcode = new QRCode(qrCodeData);

        // qrcode.GetGraphic 方法可参考最下发“补充说明”
        Bitmap icon = new Bitmap(Server.MapPath("~/qrcode/icon_ultimate.jpg"));
        Bitmap qrCodeImage = qrcode.GetGraphic(15, Color.Gray, Color.GhostWhite, icon, 20, 6, true);
        MemoryStream ms = new MemoryStream();
        qrCodeImage.Save(ms, ImageFormat.Png);
        
        string filepath = Server.MapPath("~/qrcode/"+name+".png");
        qrCodeImage.Save(filepath);

        Image1.ImageUrl = "qrcode/"+name+".png";


        // 如果想保存图片 可使用  qrCodeImage.Save(filePath);

        // 响应类型
        //context.Response.ContentType = "image/Jpeg";
        //输出字符流
        //context.Response.BinaryWrite(ms.ToArray());


        /* GetGraphic方法参数说明
                 public Bitmap GetGraphic(int pixelsPerModule, Color darkColor, Color lightColor, Bitmap icon = null, int iconSizePercent = 15, int iconBorderWidth = 6, bool drawQuietZones = true)
             * 
                 int pixelsPerModule:生成二维码图片的像素大小 ，我这里设置的是5 
             * 
                 Color darkColor：暗色   一般设置为Color.Black 黑色
             * 
                 Color lightColor:亮色   一般设置为Color.White  白色
             * 
                 Bitmap icon :二维码 水印图标 例如：Bitmap icon = new Bitmap(context.Server.MapPath("~/images/zs.png")); 默认为NULL ，加上这个二维码中间会显示一个图标
             * 
                 int iconSizePercent： 水印图标的大小比例 ，可根据自己的喜好设置 
             * 
                 int iconBorderWidth： 水印图标的边框
             * 
                 bool drawQuietZones:静止区，位于二维码某一边的空白边界,用来阻止读者获取与正在浏览的二维码无关的信息 即是否绘画二维码的空白边框区域 默认为true
   */
    }
}